## API Report File for "@backstage/plugin-sonarqube-react"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
import { ApiRef } from '@backstage/core-plugin-api';
import { Entity } from '@backstage/catalog-model';

// @public (undocumented)
export interface FindingSummary {
  // (undocumented)
  getComponentMeasuresUrl: SonarUrlProcessorFunc;
  // (undocumented)
  getIssuesUrl: SonarUrlProcessorFunc;
  // (undocumented)
  getSecurityHotspotsUrl: () => string;
  // (undocumented)
  lastAnalysis: string;
  // (undocumented)
  metrics: Metrics;
  // (undocumented)
  projectUrl: string;
}

// @public (undocumented)
export const isSonarQubeAvailable: (entity: Entity) => boolean;

// @public (undocumented)
export type MetricKey =
  | 'alert_status'
  | 'bugs'
  | 'reliability_rating'
  | 'vulnerabilities'
  | 'security_rating'
  | 'code_smells'
  | 'sqale_rating'
  | 'security_hotspots_reviewed'
  | 'security_review_rating'
  | 'coverage'
  | 'duplicated_lines_density';

// @public
export type Metrics = {
  [key in MetricKey]: string | undefined;
};

// @public (undocumented)
export const SONARQUBE_PROJECT_KEY_ANNOTATION = 'sonarqube.org/project-key';

// @public (undocumented)
export type SonarQubeApi = {
  getFindingSummary(options: {
    componentKey?: string;
    projectInstance?: string;
  }): Promise<FindingSummary | undefined>;
};

// @public (undocumented)
export const sonarQubeApiRef: ApiRef<SonarQubeApi>;

// @public (undocumented)
export type SonarUrlProcessorFunc = (identifier: string) => string;

// @public
export const useProjectInfo: (entity: Entity) => {
  projectInstance: string | undefined;
  projectKey: string | undefined;
};

// (No @packageDocumentation comment for this package)
```
